﻿using DFGK_WMS.Model.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DFGK_WMS.IRepository
{
    public interface IAGVCorrelationRepository:IBaseRepository<TAGVPointMessage>
    {
        /// <summary>
        /// 增加点位信息
        /// </summary>
        /// <param name="message"></param>
        /// <returns></returns>
        bool AddAGVPointMessage(TAGVPointMessage message);

        /// <summary>
        /// 删除点位信息
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        bool DelAGVPointMessage(int id);

        /// <summary>
        /// 修改点位信息
        /// </summary>
        /// <param name="message"></param>
        /// <returns></returns>
        bool UpdAGVPointMessage(TAGVPointMessage message);

        /// <summary>
        /// 查询全部点位信息
        /// </summary>
        /// <returns></returns>
        List<TAGVPointMessage> GetAllMessage(int pageIndex,int pageSize,out int totalCount);

        /// <summary>
        /// 根据Id查询点位信息
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        TAGVPointMessage GetMessageById (int id);

        /// <summary>
        /// 添加AGV任务类型
        /// </summary>
        /// <param name="tAGVBinDingPoint"></param>
        /// <returns></returns>
        bool AddAGVBinDingPoint(out string msg,TAGVBinDingPoint tAGVBinDingPoint);

        /// <summary>
        /// 修改AGV任务类型
        /// </summary>
        /// <param name="tAGVBinDingPoint"></param>
        /// <returns></returns>
        bool UpdAGVBinDingPoint(TAGVBinDingPoint tAGVBinDingPoint);

        /// <summary>
        /// 删除AGV任务类型
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        bool DelAGVBinDingPoint(int id);

        /// <summary>
        /// 查询全部AGV任务类型
        /// </summary>
        /// <returns></returns>
        List<TAGVBinDingPoint> GetAllDingPoints(int pageIndex, int pageSize, out int totalCount);

        /// <summary>
        /// 根据id查询
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        TAGVBinDingPoint GetDingPointById(int id);

        /// <summary>
        /// 获取AGV分组
        /// </summary>
        /// <returns></returns>
        List<string> GetAGVGroup();


    }
}
